package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

/**
 * 收退款-店铺
 *
 * @author Ximi
 * @since 2020-07-13
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9, fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblReceiveRefundShop extends BaseModel implements Serializable {


    /**
     * 账簿体系
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "账簿体系")
    @ApiModelProperty(value = "账簿体系")
    @NotNull(message = "账簿体系不能为空")
    private String accountBookSystem;

    /**
     * 渠道编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "渠道编码")
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 渠道
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    private String channelName;

    /**
     * NC_店铺名称
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_店铺名称")
    @ApiModelProperty(value = "NC_店铺名称")
    private String ncShopName;

    /**
     * NC_辅助项_店铺
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_店铺")
    @ApiModelProperty(value = "NC_辅助项_店铺")
    private String ncShopNo;

    /**
     * 零售店铺编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "零售店铺编码")
    @ApiModelProperty(value = "零售店铺编码")
    private String shopNo;

    /**
     * 零售店铺名称
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "零售店铺名称")
    @ApiModelProperty(value = "零售店铺名称")
    private String shopName;

    /**
     * 三级来源编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "三级来源编码")
    @ApiModelProperty(value = "三级来源编码")
    private String threeChannelNo;

    /**
     * 三级来源名称
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "三级来源名称")
    @ApiModelProperty(value = "三级来源名称")
    private String threeChannelName;
    /**
     * 入账主体（核算账簿简称）
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "入账主体（核算账簿简称）")
    @ApiModelProperty(value = "入账主体（核算账簿简称）")
    private String ncEnterAccountBody;

    /**
     * 核算账簿全称
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "核算账簿全称")
    @ApiModelProperty(value = "核算账簿全称")
    private String ncCheckAccountBookName;

    /**
     * NC_核算账簿
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_核算账簿")
    @ApiModelProperty(value = "NC_核算账簿")
    private String checkAccountBookNo;

    /**
     * NC_业务单元编码
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_业务单元编码")
    @ApiModelProperty(value = "NC_业务单元编码")
    private String businessUnitNo;

    /**
     * NC_辅助项_银行账户
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_银行账户")
    @ApiModelProperty(value = "NC_辅助项_银行账户")
    private String ncBankAccount;

    /**
     * NC_辅助项_渠道
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_渠道")
    @ApiModelProperty(value = "NC_辅助项_渠道")
    private String ncChannelName;

    /**
     * NC_辅助项_客户档案
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_客户档案")
    @ApiModelProperty(value = "NC_辅助项_客户档案")
    private String ncCustomerNo;

    /**
     * NC_辅助项_品牌
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_品牌")
    @ApiModelProperty(value = "NC_辅助项_品牌")
    private String ncBrandNo;

    /**
     * NC_辅助项_部门
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_部门")
    @ApiModelProperty(value = "NC_辅助项_部门")
    private String ncDeptNo;

    /**
     * 部门
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "部门")
    @ApiModelProperty(value = "部门")
    private String deptName;

    /**
     * 默认大类
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "默认大类")
    @ApiModelProperty(value = "默认大类")
    private String categoryName;

    /**
     * NC_辅助项_虚拟账户
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_虚拟账户")
    @ApiModelProperty(value = "NC_辅助项_虚拟账户")
    private String ncVirtualAccount;

    /**
     * NC_辅助项_客商
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "NC_辅助项_客商")
    @ApiModelProperty(value = "NC_辅助项_客商")
    private String ncCustomerMerchant;

    public String toUniqueString() {
        return "TblReceiveRefundShop{" +
                "accountBookSystem='" + accountBookSystem + '\'' +
                ", channelNo='" + channelNo + '\'' +
                ", shopNo='" + shopNo + '\'' +
                ", ncEnterAccountBody='" + ncEnterAccountBody + '\'' +
                '}';
    }
}
